package com.yangzhe.algorithm.c030;

// 找到缺失的数字
// 测试链接 : https://leetcode.cn/problems/missing-number/
public class Code03_MissingNumber_LeetCode {
	public int missingNumber(int[] nums) {
		// 所有数的异或
		int xorAll = 0;
		// 数组现有值的异或
		int xorNum = 0;
		for (int i = 0; i < nums.length; i++) {
			xorAll ^= i;
			xorNum ^= nums[i];
		}

		xorAll ^= nums.length;

		// 自己 ^ 自己 = 0，0 ^ 任何数 = 任何数，所以剩下的就是要找的数字
		return xorAll ^ xorNum;
	}
}
